package com.cowain.monitor.dao;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.cowain.monitor.entity.PmsSysDeptEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *  
 *  * @author 冬暖
 *  * @projectName pms-monitor
 *  * @title     PmsSysDeptDao   
 *  * @package    com.cowain.monitor.dao  
 *  * @description    组织信息       
 *  * @date   2020/8/11 9:28  
 *  * @version V1.0.0
 *  
 */
@Mapper
public interface PmsSysDeptDao extends BaseMapper<PmsSysDeptEntity> {
    /**
     * 批量添加
     * @param insertDept 组织信息
     */
    void insertDept(List<PmsSysDeptEntity> insertDept);

    /**
     * 批量修改
     * @param updateDept 组织信息
     */
    void updateDept(List<PmsSysDeptEntity> updateDept);

    /**
     * 获取部门信息
     * @param deptId 部门id
     * @return 组织信息
     */
    PmsSysDeptEntity findDept(@Param("deptId") Long deptId);

    /**
     * 保存组织信息
     * @param dept 组织
     */
    void insertDepts(List<PmsSysDeptEntity> dept);

    /**
     * 查询所有的组织
     * @param isDel 状态
     * @return 组织信息
     */
    List<PmsSysDeptEntity> findDeptList(@Param("isDel") Long isDel);

    /**
     * 修改部门状态
     * @param customerEntities 状态
     */
    void updateDepts(List<PmsSysDeptEntity> customerEntities);

    /**
     * 获取部门信息
     * @param deptId  部门id
     * @return 部门信息
     */
    PmsSysDeptEntity findDeptById(@Param("deptId") Long deptId);

    /**
     * 批量修改
     * @param dept 部门信息
     */
    void updateDeptById(List<PmsSysDeptEntity> dept);

    /**
     * 删除所有重复的数据
     * @param update 部门
     */
    void deletDept(List<PmsSysDeptEntity> update);

    /**
     * 批量删除
     * @param updateDept 部门数据
     */
    void deleteDeptes(List<PmsSysDeptEntity> updateDept);

    /**
     * 获取用户id
     * @param hrId 工号
     * @return 用户id
     */
    Long findByHrId(@Param("hrId") String hrId);
}
